iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
SideProject30

拿到一支Garmin錶,要怎麼開發app?系列 第 11

[Day-11] Monkey C的那些規則-5-modifier

  • 分享至 

  • xImage
  •  

在Monkey C 跟java一樣有static
只要class的成員常數前加了static
要使用class內的這個常數時,就不需要先建立instance才能使用,
而是可以直接呼叫使用這個常數

class Test {
    static const LUCKY_NUM = 777;
}

System.println("myNum:"+Test.LUCKY_NUM); // Prints myNum:777

此外,跟java一樣,前面加了static的變數是可以共用的,
也就是只要在一個instance修改了一個static變數的值,
即便new了一個新的instance,這個static變數也會跟上一個instance的值一樣

class BananaBunch {
    static var mNumberOfBananas = 10;
}
var bunchOne = new BananaBunch();
var bunchTwo = new BananaBunch();

System.println(bunchOne.mNumberOfBananas); // 10
System.println(bunchTwo.mNumberOfBananas); // 10

bunchOne.mNumberOfBananas = 12;

System.println(bunchOne.mNumberOfBananas); // 12
System.println(bunchTwo.mNumberOfBananas); // 12

在Monkey C ,物件存取權限只有三個層級:public、protected、private
public : 所有範圍皆可使用
protected : 只有class自身跟有繼承這個class的子class可以使用,等同hidden
private : 只有class自身內部可以使用

我原本以為在Monkey C是沒有在限制存取範圍的語言,
結果仔細一看,其實還是有的
不過跟java不一樣的地方在於,Monkey C 的default就是public,
而不是像java一樣defalut跟public有著不同的存取權限,
並且存取權限的修飾子能只作用在class的成員變數,
所有的class本身永遠都會是public,沒辦法再做調整。


上一篇
[Day-10] Monkey C的那些規則-4
下一篇
[Day-12] Monkey C的那些規則-6-Module
系列文
拿到一支Garmin錶,要怎麼開發app?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言